//
//  AFFLModeBase.h
//  AnyfishApp
//
//  Created by Bob Lee on 15/8/4.
//  Copyright (c) 2015年 Anyfish. All rights reserved.
//

#import <Foundation/Foundation.h>


@interface AFFLModeBase : NSObject

@property (nonatomic, assign) BOOL          isHide;         ///< 是否显示，默认NO

/**
 * 获取当前功能配置文件全路径 xxx/xxx/xxx
 * 个人账号下mode必须重写此方法，如果需要保存到文件的话
 */
- (NSString*)configPath_Full;

/**
 * 功能配置文件全路径名称 xxx/xxx/xxx.xx
 * 个人账号下mode必须重写此方法，如果需要保存到文件的话
 */
- (NSString*)fileNameConfig_Full;

/**
 * 功能配置文件名称 xxx.xx
 */
- (NSString*)fileNameConfig;

/**
 * 全局共享图片全路径，每个类型不同，但是根级相同，在cache下
 */
- (NSString*)iconPath_Full;

/**
 * 全局共享图片全路径名称
 */
- (NSString*)iconName_Full;

/**
 * 配置文件全局共享全路径名称
 */
- (NSString*)fileNameConfigGloble_Full;

- (AFFLModeBase*)copySelf;
@end

/**
 * 下导航配置数据对象
 */
@interface AFFLModeTab : AFFLModeBase

@property (nonatomic, strong) NSString *title;              ///< 名称
@property (nonatomic, strong) NSString *iconNameNor;        ///< 图标名称（或下导航背景图）
@property (nonatomic, strong) NSString *iconNameSel;        ///< 图标名称选中
@property (nonatomic, strong) NSString *titleColorNor;      ///< 名称颜色（或下导航背景色，在没有背景图时使用）
@property (nonatomic, strong) NSString *titleColorSel;      ///< 名称选中颜色（或下导航背景上边线颜色）
@property (nonatomic, assign) BOOL      isBranch;           ///< 是否鱼系特殊显示
@property (nonatomic, strong) NSString *titleReplace;    ///< 替换名称
@property (nonatomic, strong) NSString *vc;    ///< 对应界面

+ (NSMutableArray*)getTabConfig;
+ (NSMutableArray*)getTabSimple;
+ (NSMutableArray*)getTabCrowd;
+ (NSMutableArray*)getTabRadio;
+ (NSMutableArray*)getTabCircle;
+ (NSMutableArray*)getTabTBao;
+ (NSMutableArray*)getTabDiscount;

@end

#pragma mark 以下是缓存数据定义

@interface AFFLModeCache : AFFLModeBase

@property (nonatomic, strong) NSString *desc;    ///< 描述文本
@property (nonatomic, strong) NSString *imgName;    ///< 图片名称

- (NSData*)getImage;

- (BOOL)saveImage:(NSData*)image;

- (NSString*)imgNameNew;

- (NSString*)getImageNameFull;

@end

/**
 * fileName：kSetting.path_Location
 */

@interface AFFLModeAddress : AFFLModeCache

@property (nonatomic, assign) U64 landCode;    ///< 土地号
@property (nonatomic, assign) S32 longitude;    ///< 经度
@property (nonatomic, assign) S32 latitude;    ///< 纬度
@property (nonatomic, strong) NSString *country;    ///< 国家
@property (nonatomic, strong) NSString *province;    ///< 省份
@property (nonatomic, strong) NSString *city;        ///< 城市
@property (nonatomic, strong) NSString *subLocality;    ///< 市区
@property (nonatomic, strong) NSString *subThoroughfare;    ///< 门牌号
@property (nonatomic, strong) NSString *street;    ///< 街道
@property (nonatomic, strong) NSString *thoroughfare;    ///< 大道
@property (nonatomic, strong) NSString *countryCode;    ///< 国家编号（对比用）

@property (nonatomic, strong) NSString *bssid;    ///< wifi，id
@property (nonatomic, strong) NSString *wifiName;    ///< wifi名称
@property (nonatomic, strong) NSString *imgNameAddr;    ///< 图片名称

+ (void)updatePlacemark;

// 获取缓存位置信息
+ (AFFLModeAddress*)getCacheAddress:(S32)lon lat:(S32)lat;
+ (AFFLModeAddress*)getCacheAddressLand:(U64)land;

+ (void)setCacheAddress:(AFFLModeAddress*)addr;
+ (NSMutableArray*)loadAddress;
+ (void)saveAddress;
@end

/**
 * fileName：kSetting.path_Location
 */
@class AFFDataMedia;
@interface AFFLModeUrl : AFFLModeCache

@property (nonatomic, strong) NSString *urlLink;    ///< 链接地址
@property (nonatomic, strong) NSString *urlTitle;    ///< 链接title

@property (nonatomic, strong) NSString *imgNameUrl;    ///< 图片名称

+ (void)updateUrlCache:(AFFDataMedia*)media;

@end

